/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package co.edu.unal.bioingenium.kbmed.knowledge.mapping.api;

import co.edu.unal.bioingenium.kbmed.knowledge.mapping.vo.ConceptIdentified;
import co.edu.unal.bioingenium.kbmed.knowledge.mapping.vo.ScoresMap;
import java.util.List;
import java.util.Map;
import uk.ac.shef.wit.simmetrics.similaritymetrics.AbstractStringMetric;

/**
 *
 * @author lariverosc
 */
public interface Mapping {

    /**
     * 
     */
    public void init();

    /**
     * 
     * @param text
     * @return
     */
    public Map<String, List<ConceptIdentified>> doMapping(String text);

    /**
     * 
     * @param sentence
     * @return
     */
    public List<ConceptIdentified> mapSentence(String sentence);

    /**
     * @param:
     * @return:
     */
    public List<ConceptIdentified> evaluateCandidates(ScoresMap scoresMap);

    /**
     * @param:
     * @return:
     */
    public ScoresMap buildCandidateDescriptorSet(String text);

    /**
     * 
     * @return
     */
    public double getSIMILARITY_THRESHOLD();

    /**
     * 
     * @param SIMILARITY_THRESHOLD
     */
    public void setSIMILARITY_THRESHOLD(double SIMILARITY_THRESHOLD);

    /**
     * 
     * @return
     */
    public double getSTRING_METRIC_THRESHOLD();

    /**
     * 
     * @param STRING_METRIC_THRESHOLD
     */
    public void setSTRING_METRIC_THRESHOLD(double STRING_METRIC_THRESHOLD);

    /**
     * 
     * @return
     */
    public AbstractStringMetric getStringMetric();
}
